package com.fortune.utils;

import com.fortune.service.ananlysis.dto.BillMailInfoDTO;
import org.apache.commons.lang3.StringUtils;

import java.math.BigDecimal;

public class AnanlysisUtils {

    public static BigDecimal transferMoney(String str) {
        if(StringUtils.isBlank(str))
            return null;
        return new BigDecimal(str.replace("¥","").replace(",","").trim()) ;
    }

    public static void setDate(BillMailInfoDTO billMailInfoDTO , String date){
        if (StringUtils.isBlank(billMailInfoDTO.getBillDate())) {
            billMailInfoDTO.setBillDate(date);
        } else {
            if (Integer.parseInt(billMailInfoDTO.getBillDate()) > Integer.parseInt(date)) {
                billMailInfoDTO.setDeadlineDate(billMailInfoDTO.getBillDate());
                billMailInfoDTO.setBillDate(date);
            } else {
                billMailInfoDTO.setDeadlineDate(date);
            }
        }
    }

    public static void setDebtMoney(BillMailInfoDTO billMailInfoDTO ,BigDecimal debtMoney){
        if (billMailInfoDTO.getTotalAmount() == null) {
            billMailInfoDTO.setTotalAmount(debtMoney);
        } else {
            if (billMailInfoDTO.getTotalAmount().doubleValue() > debtMoney.doubleValue()) {
                billMailInfoDTO.setMinRepayAmount(debtMoney);
            } else {
                billMailInfoDTO.setMinRepayAmount(billMailInfoDTO.getTotalAmount());
                billMailInfoDTO.setTotalAmount(debtMoney);
            }
        }
    }

    public static void setLimit(BillMailInfoDTO billMailInfoDTO ,BigDecimal money){
        if(billMailInfoDTO.getCreditLimit() == null ){
            billMailInfoDTO.setCreditLimit(money);
        } else {
            if(billMailInfoDTO.getCreditLimit().doubleValue()< money.doubleValue()) {
                billMailInfoDTO.setCrashLimit(billMailInfoDTO.getCreditLimit());
                billMailInfoDTO.setCreditLimit(money);
            } else  {
                billMailInfoDTO.setCrashLimit(money);
            }
        }
    }

}
